package org.deng.vertx.web;

import org.deng.vertx.web.verticle.MainVerticle;

import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import lombok.extern.slf4j.Slf4j;

/**
 * @author 邓力宾
 * @date 2021/8/25 15:15
 * @desc
 */
@Slf4j
public class Main {

    public static void main(String[] args) {
        VertxOptions options = new VertxOptions();
        //工作线程(运行阻塞代码)数
        options.setWorkerPoolSize(10);
        //事件循环线程数（默认2*cpu核心数）
        options.setEventLoopPoolSize(4);
        Vertx vertx = Vertx.vertx(options);
        //标准Verticle在创建时被分配一个事件循环线程，并用该事件循环调用start方法。当您从事件循环中调用任何其他采用核心API处理程序（handler）的方法时,
        // Vett.x 将保证这些处理程序在被调用时将在同一个事件循环上执行。
        vertx.deployVerticle(new MainVerticle(), asResult->{
            if(asResult.succeeded()) {
                log.info("MainVerticle部署完成:{}", asResult.result());
            }
        });
       
    }
}
